package com.hrs.core.service;

import com.hrs.common.doMain.PageResultDto;
import com.hrs.common.result.Result;
import com.hrs.enity.db.Achieve;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hrs.enity.dto.AchieveAddDto;
import com.hrs.enity.dto.AchieveUpdateDto;
import com.hrs.enity.dto.AchieveViewDto;
import com.hrs.enity.ro.AchievePageRo;

/**
* @author 纱雾休比酱
* @description 针对表【t_achieve(档案表)】的数据库操作Service
* @createDate 2022-12-05 23:04:48
*/
public interface AchieveService extends IService<Achieve> {

    /**
     * 插入一条档案记录
     * @param achieveAddDto
     * @return
     */
    Result<String> add(AchieveAddDto achieveAddDto);

    /**
     * 档案复核
     * @return
     */
    Result<String> review(AchieveUpdateDto achieveUpdateDto);

    /**
     * 根据id获取一条档案信息
     * @param id
     * @return
     */
    Result<AchieveViewDto> get(Long id);

    /**
     * 修改*
     * @param achieveUpdateDto
     * @return
     */
    Result<String> updateAchieve(AchieveUpdateDto achieveUpdateDto);

    /**
     * 查询*
     * @param achievePageRo
     * @return
     */
    Result<PageResultDto<AchieveViewDto>> pageAchieve(AchievePageRo achievePageRo);

    /**
     * 删除*
     * @param id
     * @return
     */
    Result<String> delete(Long id);

    /**
     * 恢复*
     * @param id
     * @return
     */
    Result<String> recoverAchieve(Long id);
}
